#include "../include/kasm.h"
#include "../include/defs.h"
#include "../include/int.h"
#include "../include/kc.h"
#include "../include/syscalls.h"
#include "../include/strings.h"
#include "../include/teclado.h"
#include "../include/driverVideo.h"
#include "../include/shell.h"
#include "../include/getnum.h"

#define PORT_TEC 0x60

extern buf bufTec;

char * precioneTecla = {"Presione una tecla para continuar\0"};


void int_20() {	
	

		//printf("*");

}

void int_2c(){

	printf("mouse\n");

}

void int_21(){
unsigned char scanCode ;
char ascii;
//unsigned char scanCode;
//bufTec.buf[bufTec.siguiente++] = scanCode;
//if(bufTec.siguiente == bufTec.size)
//  bufTec.siguiente = 0;

scanCode = _inport(PORT_TEC);

ascii = scanCodeToChar(scanCode);
   if(ascii != 0)
     write(0,&ascii,1);
}

void int_00()
{
	print("Error de division por 0\n");
	while(1);

}

void int_01()
{
	print("Excepcion de Depuracion\n");
	while(1);
}

void int_02()
{
	print("Interrupcion no enmascarable\n");
	while(1);
}
void int_03()
{
	print("Punto de ruptura\n");
	while(1);
}
void int_04()
{
	print("Se ha producido un overflow\n");
	while(1);
}
void int_05()
{
	print("Bound range exceeded\n");
	while(1);
}
void int_06()
{
	print("Codigo de operacion no valido\n");
	while(1);
}
void int_07()
{
	print("Dispositivo no disponible\n");
	while(1);
}
void int_08()
{
	print("Doble fallo\n");
	while(1);
}
void int_09()
{
	print("Coprocessor Segment Overrun\n");
	while(1);
}

void int_0A()
{
        print("TSS no valido\n");
	while(1);
}
void int_0B()
{
        print("Segmento no presente\n");
	while(1);
}
void int_0C()
{
        print("Error de stack Segment\n");
	while(1);
}
void int_0D()
{
        print("Error de proteccion general\n");
	while(1);
}
void int_0E()
{
        print("Error de pagina\n");
	while(1);
}

void int_10()
{
	print("Error de Punto Flotante\n");
	while(1);
}
void int_11()
{
	print("Revise la alineacion\n");
	while(1);
}
void int_12()
{
	print("Comprobacion de equipo\n");
	while(1);
}
void int_13()
{
	print("Excepcion de punto flotante (SIMD)\n");
	while(1);
}


